草庐IT

Julia 元组

全部标签

c# - 在 ASP.NET Core Web API Controller 中使用 C# 7 元组

你知道为什么会这样吗:publicstructUserNameAndPassword{publicstringusername;publicstringpassword;}[HttpPost]publicIActionResultCreate([FromBody]UserNameAndPasswordusernameAndPassword){Console.WriteLine(usernameAndPassword);if(this.AuthenticationService.IsValidUserAndPasswordCombination(usernameAndPassword.u

c# - C# 4.0 元组是协变的吗

(我会自己检查一下,但我还没有VS2010(还))假设我有2个基本接口(interface):IBaseModelInterfaceIBaseViewInterface还有2个实现这些的接口(interface):ISubModelInterface:IBaseModelInterfaceISubViewInterface:IBaseViewInterface如果我定义一个Tuple我想根据返回Tuple的工厂的结果来设置它.在C#3中,即使子接口(interface)实现了基接口(interface),我也不能这样做。如果我使用IEnumerable,我很确定C#4允许我这样做因为它

c# - 带元组键的不区分大小写的字典

我有一个字典,其中的键是一个元组,其中第一项是日期,第二项是字符串。我希望字典不区分大小写。我知道如果键只是一个字符串,我可以在声明字典时将StringComparer.OrdinalIgnoreCase作为参数传递,但是当键是元组时这似乎不起作用。有没有办法指定StringComparer用于元组的第二项?谢谢 最佳答案 使用thisoverloadDictionary构造函数的一部分,它允许您为键指定自定义比较器。你会伴随着创建一个类来实现IEqualityComparer>可能看起来像这样:classCustomEqualit

c# - 将元组列表转换为字典

如何以最短的方式将元组列表转换为字典(C#)?IList>applyOnTree=getTuples(); 最佳答案 假设long是键,int是值;applyOnTree.ToDictionary(x=>x.Item1,x=>x.Item2);显然,如果是相反的情况,只需将这两者颠倒即可。 关于c#-将元组列表转换为字典,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/131804

C# 7 模式匹配与元组

是否可以像这样使用c#7在switch语句中使用具有模式匹配的元组:switch(parameter){case((object,object))tObjwhentObj.Item1=="ABC":break;}我收到一条错误消息,提示tObj在当前上下文中不存在。我也试过这个:switch(parameter){case(object,object)tObjwhentObj.Item1=="ABC":break;}这很好用:switch(parameter){caseMachineModelmodelwhenmodel.Id=="123":break;}

c# - 单元素元组和零元素元组有什么用?

C#7.0引入了值元组以及对它们的一些语言级别支持。他们addedthesupport单个和零元素元组也是如此;但是,我无法找到它们有用的任何场景。通过ValueTuple.Create重载,我可以创建任何类型的元组,但C#7.0语法只允许至少两个元素:Microsoft(R)RoslynC#Compilerversion2.8.3.62923Loadingcontextfrom'CSharpInteractive.rsp'.Type"#help"formoreinformation.>ValueTuple.Create()[()]>ValueTuple.Create(1)[(1)]>

c# - 我可以使用 Linq 从 IEnumerables 构建元组吗?

我有两个IEnumerables,我想构建一个IEnumerable的Tuple从。Item1的Tuple应该是项目的索引,Item2第一个集合中第index个位置的值,以及Item3第二个集合中第index个位置的值。这在Linq中可以轻松完成吗?例如varfirst=newList(){10.0,20.0,30.0};varsecond=newList(){1.0,2.0,3.0};varresult=TupleBuild(first,second);//result={(0,10.0,1.0),(1,20.0,2.0),(2,30.0,3.0)}哪里:IEnumerable>Tu

c# - 如何创建元组数组?

我知道要在C#中创建元组,我们使用以下格式:Tuplefrom=newTuple(50,350);Tupleto=newTuple(50,650);其中每个元组是一个坐标对。我正在尝试使用元组创建多个坐标对的数组。有人可以帮我解决这个问题吗?编辑:这是我到目前为止所尝试过的。我希望它只采用这种数组格式。Tuple[]coords=newTuple({50,350},{50,650},{450,650});编译器提示有问题..请告诉我它是什么? 最佳答案 在C#7中varcoords=new[]{(50,350),(50,650),(

c# - "if (object is (string, Color))"c# 7.0 元组用法不起作用

我使用的是VisualStudio2017RC,我已经安装了System.ValueTuple包,它启用了新的c#7.0元组用法,但我无法让它在这种特定情况下工作:如您所见,第一种方法没有任何红色波浪线,而且很管用。但是尝试执行ois(string,Color)失败并出现不相关的错误:新的元组不能这样用吗?或者它只是包裹的当前状态?我已经将它更新到最新版本btw,此时是4.3.0。我读过thisMSDNpost但没有发现任何这样的用法。 最佳答案 Roslyncontainsteststhatensureusingtuplesinp

c# - 在 select 语句中使用命名元组

有没有更好的方法使用var目标变量在C#7中选择命名元组?我一定在示例1中做错了什么,或者完全误解了某些东西。我似乎必须明确设置目标类型才能执行此操作。//1.Failstocompilewith"incorrectnumberoftypeparameters"issue.vartuples=source.Select(x=>(x.A,x.B));//2.CompilesIEnumerabletuples=toCheck.Select(x=>(x.A,x.B));//3.Compilesvartuples=newHashSet(source.Select(x=>(x.A,x.B)));